libp2p-quic 0.9.3

TLS based QUIC transport implementation for libp2p
Documentation
Implementation of the QUIC transport protocol for libp2p. # Usage Example: ``` # #[cfg(not(feature = "async-std"))] # fn main() {} # # #[cfg(feature = "async-std")] # fn main() -> std::io::Result<()> { # use libp2p_quic as quic; use libp2p_core::{Multiaddr, Transport, transport::ListenerId}; let keypair = libp2p_identity::Keypair::generate_ed25519(); let quic_config = quic::Config::new(&keypair); let mut quic_transport = quic::async_std::Transport::new(quic_config); let addr = "/ip4/127.0.0.1/udp/12345/quic-v1".parse().expect("address should be valid"); quic_transport.listen_on(ListenerId::next(), addr).expect("listen error."); # # Ok(()) # } ``` The [`GenTransport`] struct implements the [`libp2p_core::Transport`]. See the documentation of [`libp2p_core`] and of libp2p in general to learn how to use the [`Transport`][libp2p_core::Transport] trait. Note that QUIC provides transport, security, and multiplexing in a single protocol. Therefore, QUIC connections do not need to be upgraded. You will get a compile-time error if you try. Instead, you must pass all needed configuration into the constructor.